Subroutine to get SOM prototypes
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(self_organizing_map) | :: | kohonen_map |
A |
|||
real(kind=wp), | intent(out), | dimension(:,:) | :: | prototypes |
A real array to return the values of the SOM prototypes |
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
integer, | public | :: | i | ||||
integer, | public | :: | j | ||||
integer, | public | :: | k | ||||
integer, | public | :: | pos | ||||
integer, | public | :: | nvar1 | ||||
integer, | public | :: | nvar2 | ||||
integer, | public, | dimension(1) | :: | nvar | |||
real(kind=wp), | public, | dimension(kohonen_map%parameters%number_variables1, kohonen_map%parameters%number_variables2) | :: | current_prototype | |||
real(kind=wp), | public, | dimension(kohonen_map%parameters%number_variables1* kohonen_map%parameters%number_variables2) | :: | current_prototype1 |
subroutine get_prototypes(kohonen_map,prototypes) !======================================================================================== !! Subroutine to get SOM prototypes class(self_organizing_map) :: kohonen_map !! A `self_organizing_map` object real(kind=wp),dimension(:,:),intent(out) :: prototypes !! A real array to return the values of the SOM prototypes integer :: i,j,k,pos,nvar1,nvar2 integer,dimension(1) :: nvar real(kind=wp),dimension(kohonen_map%parameters%number_variables1,& kohonen_map%parameters%number_variables2) :: current_prototype real(kind=wp),dimension(kohonen_map%parameters%number_variables1*& kohonen_map%parameters%number_variables2) :: current_prototype1 ! nvar1=kohonen_map%parameters%number_variables1; nvar2=kohonen_map%parameters%number_variables2; nvar(1)=nvar1*nvar2 pos=0; do k=1,size(kohonen_map%grid,3) do j=1,size(kohonen_map%grid,2); do i=1,size(kohonen_map%grid,1); pos=pos+1; call kohonen_map%grid(i,j,k)%get_prototype(current_prototype); current_prototype1(1:nvar1*nvar2)=reshape(current_prototype,nvar) prototypes(pos,:)=current_prototype1; enddo enddo enddo ! end subroutine get_prototypes